import 'package:gczn_hd/app/data/middleware/routes_auth.dart';
import 'package:get/get.dart';

import '../modules/eam/spotcheck/bindings/spotcheck_binding.dart';
import '../modules/eam/spotcheck/views/spotcheck_view.dart';
import '../modules/eam/spotcheck_detail/bindings/spotcheck_detail_binding.dart';
import '../modules/eam/spotcheck_detail/views/spotcheck_detail_view.dart';
import '../modules/login/bindings/login_binding.dart';
import '../modules/login/views/login_view.dart';
import '../modules/ppm/create_report/bindings/create_report_binding.dart';
import '../modules/ppm/create_report/views/create_report_view.dart';
import '../modules/ppm/report/bindings/report_binding.dart';
import '../modules/ppm/report/views/report_view.dart';
import '../modules/ppm/report_detail/bindings/report_detail_binding.dart';
import '../modules/ppm/report_detail/views/report_detail_view.dart';
import '../modules/ppm/sop_file/bindings/sop_file_binding.dart';
import '../modules/ppm/sop_file/views/sop_file_view.dart';
import '../modules/ppm/station/bindings/station_binding.dart';
import '../modules/ppm/station/views/station_view.dart';
import '../modules/qms/check_detail/bindings/check_detail_binding.dart';
import '../modules/qms/check_detail/views/check_detail_view.dart';
import '../modules/qms/qc_check_list/bindings/qc_check_list_binding.dart';
import '../modules/qms/qc_check_list/views/qc_check_list_view.dart';
import '../modules/tool/webview/bindings/webview_binding.dart';
import '../modules/tool/webview/views/webview_view.dart';
import '/app/modules/home/bindings/home_binding.dart';
import '/app/modules/home/views/home_view.dart';

part 'app_routes.dart';

class AppPages {
  AppPages._();

  static const INITIAL = Routes.HOME;

  static final routes = [
    GetPage(
      name: _Paths.LOGIN,
      page: () => LoginView(),
      binding: LoginBinding(),
    ),
    GetPage(
      name: _Paths.HOME,
      page: () => HomeView(),
      binding: HomeBinding(),
      middlewares: [RouteAuthMiddleware()]
    ),
    GetPage(
      name: _Paths.STATION,
      page: () => StationView(),
      binding: StationBinding(),
    ),
    GetPage(
      name: _Paths.REPORT,
      page: () => ReportView(),
      binding: ReportBinding(),
    ),
    GetPage(
      name: _Paths.CREATE_REPORT,
      page: () => CreateReportView(),
      binding: CreateReportBinding(),
    ),
    GetPage(
      name: _Paths.REPORT_DETAIL,
      page: () => ReportDetailView(),
      binding: ReportDetailBinding(),
    ),
    GetPage(
      name: _Paths.SOP_FILE,
      page: () => SopFileView(),
      binding: SopFileBinding(),
    ),
    GetPage(
      name: _Paths.WEBVIEW,
      page: () => WebviewView(),
      binding: WebviewBinding(),
    ),
    GetPage(
      name: _Paths.SPOTCHECK,
      page: () => SpotcheckView(),
      binding: SpotcheckBinding(),
    ),
    GetPage(
      name: _Paths.SPOTCHECK_DETAIL,
      page: () => SpotcheckDetailView(),
      binding: SpotcheckDetailBinding(),
    ),
    GetPage(
      name: _Paths.QC_CHECK_LIST,
      page: () => QcCheckListView(),
      binding: QcCheckListBinding(),
    ),
    GetPage(
      name: _Paths.CHECK_DETAIL,
      page: () => CheckDetailView(),
      binding: CheckDetailBinding(),
    ),
  ];
}
